<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            background-color: rgb(247, 209, 209);
        }
        .box1{
            width: 100px;
            height: 100px;
            background-color: rgb(209, 247, 247);
        }
    </style>
</head>
<body>
    <div class="box">
        box
    </div>
    <div class="box1">
        box1
    </div>
    <button class="btn">按钮</button>
    <button class="rm-btn">移除事件</button>
    <script>
        //事件的监听有两种方式
        
        var boxEle = document.querySelector('.box')
        let box1Ele = document.querySelector('.box1')
        //1.通过on+事件函数监听
        boxEle.onclick = function(){
            var x = 1+1
            console.log(x)
            console.log('点击了box')
        }
        //2.通过addEventListener函数监听，第一个参数是事件名称，第二个参数事件执行以后的回调函数
        box1Ele.addEventListener('click',function(){
            console.log('box1点击了')
        })
        //回调函数的写法有两种
        //1.通过匿名函数的方式
        boxEle.onmouseleave = function(){
            console.log('鼠标离开了box')
        }
        //2.先在外面定义个函数，然后调用这个函数 
        // boxEle.onmouseenter = function(){
        //     console.log('鼠标进入了box')
        // }
        //2.1定义handleEnter函数
        function handleEnter(e){
            console.log('鼠标进入了box')
            console.log(e)
        }
        //2.2绑定handleEnter函数
        boxEle.onmouseenter = handleEnter
        box1Ele.addEventListener('mouseenter',handleEnter)

        box1Ele.onmouseleave = function(e){
            console.log(e)
            console.log(e.target)

        }

        let btn = document.querySelector('.btn')
        let rmBtn = document.querySelector('.rm-btn')

        function btnClick(){
            console.log('btn clicked')
        }

        //如果绑定的事件以后需要移除，需要按照以下方式进行绑定
        btn.addEventListener('click',btnClick)
        //移除事件
        //btn.removeEventListener('click',btnClick)

        //不能移除绑定的匿名函数
        // btn.addEventListener('click',function(){
        //     console.log('click btn')
        // })
        // btn.removeEventListener('click',function(){
        //     console.log('click btn')
        // })
        
        // rmBtn.addEventListener('click',function(){
        //     btn.removeEventListener('click',btnClick)
        // })
        
        
    </script>
</body>
</html>